

export default{
    namespaced: true,
    state: {
        cartData: []
    },
    mutations: {
        STE_CART(state,payload){
            //  state.cartData=payload
            //1.先检查ca rtData有没荀传入的这条数据
          
            let target =state.cartData.find(item=>item.id===payload.id)
            //将数据添加到cartData,第一次加入进来数量1, 需要手动添加数量count这个字段
            
              //-没有
            if(!target){
                let obj= {
                    title:payload.title,
                    price:payload.price,
                    count:1,
                    id: payload.id
                }
                state.cartData.push(obj)
            }
            else{
                // 有 count+1
                console.log(target);
                target.count++
            }

            // state.cartData.push(payload)
           
        }
    },
    actions: {
        //这么 写的目的是为了能够学到如何在一个模块的store操作另
        // 一个store的mutation或者action
        ADD_CART(context,payload){
            console.log('cart action----',payload);
            context.commit('STE_CART',payload)
            // 提交另一个store中的mutation
            //通过传 入root: true ,把这次操作转换为 rootSto re的操作等同于this. $store. commit( ' product/DECREASE_ INVENTORY' , payload. id)
            context.commit('product/DECREASE_INVENTORY',payload.id,{root:true})
        }
    },
    getters: {
        // 1总价计算：
        total(state){
            return (state.cartData.reduce((total,item)=>
            {
                return total+=item.price*item.count
                //item.price*item.count核心逻辑
            },0)).toFixed(2)
        }
    }
}